<?php
/**
 * Application level Controller
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */
App::uses('Controller', 'Controller');

/**
 * Application Controller
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package		app.Controller
 * @link		http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
 */
class AppController extends Controller {
    var $components = array('Session','RequestHandler', 'Usermgmt.UserAuth','FilterResults.Filter' => array(
        'auto' => array(
            'paginate' => false,
            'explode'  => true,  // recomendado
        ),
        'explode' => array(
            'character'   => ' ',
            'concatenate' => 'AND',
        )
    ));
    var $helpers = array('Form', 'Html','Msg', 'Session', 'Js', 'Usermgmt.UserAuth','FilterResults.Search');

    function beforeFilter(){
        $this->userAuth();
    }
    private function userAuth(){
        $this->UserAuth->beforeFilter($this);
    }

    /**
     * showMessage method
     * Formata o metodo setFlash de modo mais facio
     * @var $message String;
     * @var $other Array('type','close','title');
     */
    protected function showMessage($message,$other = array())
    {
        $message = ($message == '')? '':$message;
        if(is_array($other))
        {
            $other['type'] = $other['type'] ==''? 'alert alert-info': 'alert alert-'.$other['type'];
            $other['close'] = ($other['close'] == '')||($other['close'] == false)? '':'<button type="button" class="close" data-dismiss="alert">&times;</button>';
            $other['title'] = ($other['title'] == '')? '':'<strong>'.$other['title'].'</strong>&nbsp;';
            $btnCloseTitleMessage =$other['close'].$other['title'].$message;
            $class = $other['type'];
        }
        else
        {
            $btnCloseTitleMessage =$message;
            $class = 'alert alert-inf0';
        }
        return $this->Session->setFlash($btnCloseTitleMessage,'default',array('escap'=>false,'class'=>$class));
    }
}
